package com.gengzp.common.model.serviceGovernance.req;

import com.gengzp.common.model.generic.req.SearchByIdReq;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * @ClassName EditServiceGovernanceReq
 * @Description 编辑服务治理信息请求实体
 * @Author gengzp
 * @Date 2025/10/14 11:00
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class EditServiceGovernanceReq extends SearchByIdReq {

    @Serial
    private static final long serialVersionUID = -822324346367810673L;

    /**
     * 服务名称
     */
    @NotBlank(message = "服务名称不能为空")
    @ApiModelProperty("服务名称")
    private String serviceName;

    /**
     * 服务标题
     */
    @NotBlank(message = "服务标题不能为空")
    @ApiModelProperty("服务标题")
    private String serviceTitle;

    /**
     * 服务描述
     */
    @NotBlank(message = "服务描述不能为空")
    @ApiModelProperty("服务描述")
    private String serviceDescription;

    /**
     * 服务配置文件
     */
    @ApiModelProperty("服务配置文件")
    private String serviceConfigFile;

    /**
     * 前后端类型
     */
    @NotNull(message = "前端后端类型不能为空")
    @ApiModelProperty("前端后端类型")
    private Integer frontBackType;

    /**
     * git仓库地址
     */
    @NotBlank(message = "git仓库地址不能为空")
    @ApiModelProperty("git仓库地址")
    private String gitUrl;

    /**
     * 项目管理员
     */
    @NotBlank(message = "项目管理员昵称不能为空")
    @ApiModelProperty("项目管理员昵称")
    private String projectManagerNickname;

}
